package chapter5;

/**
 * 引用类型的参数传递，其本质也是值传递
 */
public class ReferenceTransferTest {
    public static void swap(DataWrap dataWrap) {
        int tmp = dataWrap.a;
        dataWrap.a = dataWrap.b;
        dataWrap.b = tmp;
        System.out.println("swap方法里a的值是:" + dataWrap.a + " b的值是:" + dataWrap.b);
        //将swap方法中的参数对象设置为null，如果是引用传递，则main方法后续访问dw成员变量时会报错
        dataWrap = null;
    }

    public static void main(String[] args) {
        DataWrap dw = new DataWrap();
        dw.a = 6;
        dw.b = 9;
        swap(dw);
        System.out.println("交换结束后，a成员变量的值是:" + dw.a + " b成员变量的值是:" + dw.b);
    }
     static class DataWrap {
        int a;
        int b;
    }
}


